﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for HistorialDepreciacionBLL
/// </summary>
public class HistorialDepreciacionBLL
{
	public HistorialDepreciacionBLL()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public static HistorialDepreciacion rowToDto(dsHistorialDepreciacion.HistorialDepreciacionDSRow HistorialDepreciacionRow)
    {

        HistorialDepreciacion objHistorialDepreciacion = new HistorialDepreciacion();
        objHistorialDepreciacion.IHistorialDepre_id = HistorialDepreciacionRow.iHistorialDepre_id;
        objHistorialDepreciacion.IActivoFijo_id = HistorialDepreciacionRow.iActivoFijo_id;
        objHistorialDepreciacion.ICreadoPor = HistorialDepreciacionRow.iCreadoPor;
        objHistorialDepreciacion.IValorActualizado = HistorialDepreciacionRow.iValorActualizado;
        objHistorialDepreciacion.IValorAnterior = HistorialDepreciacionRow.iValorAnterior;
        objHistorialDepreciacion.IAITBValor = HistorialDepreciacionRow.iAITBValor;
        objHistorialDepreciacion.IDeprecGestion = HistorialDepreciacionRow.iDeprecGestion;
        objHistorialDepreciacion.IValorNeto = HistorialDepreciacionRow.iValorNeto;
        objHistorialDepreciacion.IDeprecAcumulada = HistorialDepreciacionRow.iDeprecAcumulada;
        objHistorialDepreciacion.IDeprecAcumuladaActualizada = HistorialDepreciacionRow.iDeprecAcumuladaActualizada;
        objHistorialDepreciacion.IAITBDesprec = HistorialDepreciacionRow.iAITBDesprec;
        objHistorialDepreciacion.IDesprecTotal = HistorialDepreciacionRow.iDesprecTotal;
        objHistorialDepreciacion.IConsolidado_ft = HistorialDepreciacionRow.iConsolidado_ft;
        objHistorialDepreciacion.DtFechaDesprecAnterior = HistorialDepreciacionRow.dtFechaDesprecAnterior;
        objHistorialDepreciacion.DtFechaDesprecActual = HistorialDepreciacionRow.dtFechaDesprecActual;

        return objHistorialDepreciacion;
    }
    public static List<HistorialDepreciacion> GetAll()
    {
        List<HistorialDepreciacion> ListaDeHistorialDepreciacion = new List<HistorialDepreciacion>();
        try
        {



            dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter HistorialDepreciacionAdapter
                = new dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter();
            dsHistorialDepreciacion.HistorialDepreciacionDSDataTable HistorialDepreciacionDataTable = HistorialDepreciacionAdapter.GetAll_HistorialDepreciacion();

            foreach (dsHistorialDepreciacion.HistorialDepreciacionDSRow row in HistorialDepreciacionDataTable)
            {
                HistorialDepreciacion objHistorialDepreciacion = rowToDto(row);
                ListaDeHistorialDepreciacion.Add(objHistorialDepreciacion);
            }
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return ListaDeHistorialDepreciacion;
    }
    public static HistorialDepreciacion GetByPK(int pk)
    {

        try
        {

            dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter HistorialDepreciacionAdapter
                = new dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter();
            dsHistorialDepreciacion.HistorialDepreciacionDSDataTable HistorialDepreciacionDataTable
                = HistorialDepreciacionAdapter.GetByPk_HistorialDepreciacion(pk);

            HistorialDepreciacion objHistorialDepreciacion = rowToDto(HistorialDepreciacionDataTable[0]);
            return objHistorialDepreciacion;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return null;
    }

    public static int InsertarHistorialDepreciacion(int iActivoFijo_id, int CreadoPor, decimal iValorActualizado, decimal iValorAnterior, decimal iAIBTValor, decimal iDeprecGestion, decimal iValorNeto, decimal iDepreAcumulada, decimal iDeprecAcumuladaActualizada, decimal iAITBDesprec, decimal iDesprecTotal, Boolean iConsolidad_ft, DateTime dtFechaDesprecAnterior, DateTime dtFechaDesprecActual)
    {

        try
        {

            dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter HistorialDepreciacionAdapter
                = new dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter();


            int? nuevaPK = 0;

            HistorialDepreciacionAdapter.Insertar_HistorialDepreciacion(iActivoFijo_id, CreadoPor,iValorActualizado,iValorAnterior,iAIBTValor,iDeprecGestion,iValorNeto,iDepreAcumulada,iDeprecAcumuladaActualizada,iAITBDesprec,iDesprecTotal,iConsolidad_ft,dtFechaDesprecAnterior,dtFechaDesprecActual, ref nuevaPK);

            return (int)nuevaPK;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return 0;
    }

    public static bool ModificarHistorialDepreciacion(int pk, int iActivoFijo_id, int CreadoPor, decimal iValorActualizado, decimal iValorAnterior, decimal iAIBTValor, decimal iDeprecGestion, decimal iValorNeto, decimal iDepreAcumulada, decimal iDeprecAcumuladaActualizada, decimal iAITBDesprec, decimal iDesprecTotal, Boolean iConsolidad_ft, DateTime dtFechaDesprecAnterior, DateTime dtFechaDesprecActual)
    {

        try
        {

            dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter HistorialDepreciacionAdapter
                = new dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter();

            HistorialDepreciacionAdapter.Modificar_HistorialDepreciacion(pk, iActivoFijo_id, CreadoPor, iValorActualizado, iValorAnterior, iAIBTValor, iDeprecGestion, iValorNeto, iDepreAcumulada, iDeprecAcumuladaActualizada, iAITBDesprec, iDesprecTotal, iConsolidad_ft, dtFechaDesprecAnterior, dtFechaDesprecActual);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }

    public static bool EliminarHistorialDepreciacion(int pk)
    {

        try
        {

            dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter HistorialDepreciacionAdapter
                = new dsHistorialDepreciacionTableAdapters.HistorialDepreciacionDSTableAdapter();

            HistorialDepreciacionAdapter.Eliminar_HistorialDepreciacion(pk);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }
}